package com.fantasy.service.impl;

import com.fantasy.dao.AdminDao;
import com.fantasy.dao.impl.AdminDaoImpl;
import com.fantasy.entity.Admin;
import com.fantasy.entity.Page;
import com.fantasy.service.AdminService;

import java.util.List;

public class AdminServiceImpl implements AdminService {
    AdminDao adminDao=new AdminDaoImpl();

    /**
     *  添加管理员（管理员注册）
     * @param admin
     * @return 0 添加失败 1添加成功
     */
    @Override
    public int insert(Admin admin) {
        return adminDao.insert(admin);
    }

    /**
     * 删除管理员（管理员删除）
     * @param id
     * @return 0 删除失败 1删除成功
     */
    @Override
    public int delete(int id) {
        return adminDao.delete(id);
    }

    /**
     * 更新管理员信息
     * @param admin
     * @return 0 更新失败 1更新成功
     */
    @Override
    public int update(Admin admin) {
        return adminDao.update(admin);
    }

    /**
     * 更具管理员id查询管理员
     * @param id
     * @return 查询到的管理员  若没查询到则为null
     */
    @Override
    public Admin queryById(int id) {
        return adminDao.queryById(id);
    }

    /**
     * 更具管理员电话号码和密码查询管理员(管理员登录登录)
     * @param phone
     * @param password
     * @return 查询到的管理员  若没查询到则为null
     */
    @Override
    public Admin queryByPhoneAndPassword(String phone, String password) {
        return adminDao.queryByPhoneAndPassword(phone,password);
    }

    /**
     * 更具管理员电话号码查询管理员(号码为唯一标识)
     * @param phone
     * @return
     */
    @Override
    public Admin queryByPhone(String phone) {
        return adminDao.queryByPhone(phone);
    }

    /**
     * 查询全部
     * @return
     */
    @Override
    public List<Admin> queryAll() {
        return adminDao.queryAll();
    }

    @Override
    public Page<Admin> pageQuery(int pageNo, int pageSize) {
        Page<Admin> page=new Page();

        //设置开始页码
        page.setPageNo(pageNo);

        //设置当前页显示的数量
        page.setPageSize(pageSize);

        //设置当前页数据
        page.setItems(adminDao.queryForPageItems(pageNo,pageSize));

        //设置数据总数
        Integer totalCount = adminDao.queryForPageTotalCount();
        page.setPageTotalCount(totalCount);

        //设置总页码
        int count = totalCount / pageSize;
        if (totalCount % pageSize!=0){
            count+=1;
        }
        page.setPageTotal(count);

        return page;
    }
}
